home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 6_2008-2009.ISO / data / zips / Zaid_Helpe2128309262008.psc / Zaid Helper / CPUram.frm < prev    next >
Text File  |  2008-09-10  |  7KB  |  202 lines

  1. VERSION 5.00
  2. Begin VB.Form CPUram 
  3.    BackColor       =   &H00808080&
  4.    BorderStyle     =   4  'Fixed ToolWindow
  5.    Caption         =   "CPU RAM"
  6.    ClientHeight    =   5175
  7.    ClientLeft      =   45
  8.    ClientTop       =   360
  9.    ClientWidth     =   3615
  10.    LinkTopic       =   "Form1"
  11.    MaxButton       =   0   'False
  12.    MinButton       =   0   'False
  13.    ScaleHeight     =   5175
  14.    ScaleWidth      =   3615
  15.    ShowInTaskbar   =   0   'False
  16.    StartUpPosition =   2  'CenterScreen
  17.    Begin VB.Timer tmrUpdate 
  18.       Enabled         =   0   'False
  19.       Interval        =   500
  20.       Left            =   840
  21.       Top             =   1800
  22.    End
  23.    Begin VB.PictureBox picCPULoad 
  24.       Appearance      =   0  'Flat
  25.       AutoRedraw      =   -1  'True
  26.       BackColor       =   &H00000000&
  27.       BorderStyle     =   0  'None
  28.       BeginProperty Font 
  29.          Name            =   "Tahoma"
  30.          Size            =   6.75
  31.          Charset         =   0
  32.          Weight          =   400
  33.          Underline       =   0   'False
  34.          Italic          =   0   'False
  35.          Strikethrough   =   0   'False
  36.       EndProperty
  37.       ForeColor       =   &H00000000&
  38.       Height          =   2775
  39.       Left            =   0
  40.       ScaleHeight     =   185
  41.       ScaleMode       =   3  'Pixel
  42.       ScaleWidth      =   97
  43.       TabIndex        =   0
  44.       Top             =   0
  45.       Width           =   1455
  46.       Begin VB.Label lblData 
  47.          Appearance      =   0  'Flat
  48.          BackColor       =   &H80000005&
  49.          BackStyle       =   0  'Transparent
  50.          BeginProperty Font 
  51.             Name            =   "Courier New"
  52.             Size            =   9.75
  53.             Charset         =   0
  54.             Weight          =   700
  55.             Underline       =   0   'False
  56.             Italic          =   0   'False
  57.             Strikethrough   =   0   'False
  58.          EndProperty
  59.          ForeColor       =   &H00FFFFFF&
  60.          Height          =   2775
  61.          Left            =   0
  62.          TabIndex        =   1
  63.          Top             =   0
  64.          Width           =   1455
  65.       End
  66.    End
  67. End
  68. Attribute VB_Name = "CPUram"
  69. Attribute VB_GlobalNameSpace = False
  70. Attribute VB_Creatable = False
  71. Attribute VB_PredeclaredId = True
  72. Attribute VB_Exposed = False
  73.  
  74. Private Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long
  75. Private Declare Sub GlobalMemoryStatus Lib "kernel32" (lpBuffer As MEMORYSTATUS)
  76. Private Declare Function SetWindowPos& Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long)
  77.  
  78. Private Type NOTIFYICONDATA
  79.     cbSize As Long
  80.     hwnd As Long
  81.     uID As Long
  82.     uFlags As Long
  83.     uCallbackMessage As Long
  84.     hIcon As Long
  85.     szTip As String * 200 'Replace the szTip string's length with your tip's length
  86. End Type
  87.  
  88. Private Const NIM_ADD = &H0
  89. Private Const NIM_MODIFY = &H1
  90. Private Const NIM_DELETE = &H2
  91. Private Const NIF_MESSAGE = &H1
  92. Private Const NIF_ICON = &H2
  93. Private Const NIF_TIP = &H4
  94. Private Const NIF_DOALL = NIF_MESSAGE Or NIF_ICON Or NIF_TIP
  95. Private Const WM_MOUSEMOVE = &H200
  96. Private Const WM_LBUTTONDOWN = &H201
  97. Private Const WM_RBUTTONDOWN = &H204
  98.  
  99. Const HWND_TOPMOST = -1
  100. Const SWP_NOSIZE = &H1
  101. Const SWP_NOMOVE = &H2
  102.  
  103. Private Type MEMORYSTATUS
  104.         dwLength As Long
  105.         dwMemoryLoad As Long
  106.         dwTotalPhys As Long
  107.         dwAvailPhys As Long
  108.         dwTotalPageFile As Long
  109.         dwAvailPageFile As Long
  110.         dwTotalVirtual As Long
  111.         dwAvailVirtual As Long
  112. End Type
  113.  
  114. Private UsedPhysicalMemory As Long
  115. Private TotalPhysicalMemory As Long
  116. Private AvailablePhysicalMemory As Long
  117. Private TotalPageFile As Long
  118. Private AvailablePageFile As Long
  119. Private TotalVirtualMemory As Long
  120. Private AvailableVirtualMemory As Long
  121.  
  122. Private m_oCPULoad As CPULoad
  123. Private m_lCPUs As Long
  124.  
  125. Public CPUUsageColor As OLE_COLOR, FreeRAMColor As OLE_COLOR
  126.  
  127. Private Sub Form_Load()
  128.  
  129.     CPUUsageColor = vbRed
  130.     FreeRAMColor = vbGreen
  131.  
  132.     picCPULoad.BackColor = vbBlack
  133.     lblData.ForeColor = vbWhite
  134.     
  135.     tmrUpdate.Interval = 500
  136.     
  137.     Set m_oCPULoad = New CPULoad
  138.     m_lCPUs = m_oCPULoad.GetCPUCount
  139.     
  140.     tmrUpdate.Enabled = True
  141.  
  142. End Sub
  143.  
  144.  
  145.  
  146. Private Sub Form_Resize()
  147. On Error Resume Next
  148. picCPULoad.Move 0, 0, Me.ScaleWidth - 1, Me.ScaleHeight - 1
  149. lblData.Move 0, 0, Me.ScaleWidth - 1, Me.ScaleHeight - 1
  150.  
  151. End Sub
  152.  
  153. Private Sub tmrUpdate_Timer()
  154. tmrUpdate.Enabled = False
  155.     
  156.     DoEvents
  157.  
  158.     Dim lCPULoad As Long
  159.     Dim lCPUIndex As Long
  160.     
  161.     m_oCPULoad.CollectCPUData
  162.     
  163.     lblData.Caption = "Processor" & vbCrLf
  164. lCPULoad = m_oCPULoad.GetCPUUsage(1)
  165.     If Me.Visible Then lblData = lblData & "Average       : " & Format(lCPULoad) & " %"
  166.     
  167.     With picCPULoad
  168.         GetMemoryInfo
  169.         
  170.         .Cls
  171.         picCPULoad.Line (1, .ScaleHeight - 2)-(.ScaleWidth / 2 - 1, .ScaleHeight + 1 - ((.ScaleHeight - 1) * (lCPULoad / m_lCPUs) / 100)), CPUUsageColor, BF
  172.         picCPULoad.Line (.ScaleWidth / 2, .ScaleHeight - 2)-(.ScaleWidth - 2, .ScaleHeight + 1 - ((.ScaleHeight - 1) * AvailablePhysicalMemory / TotalPhysicalMemory)), FreeRAMColor, BF
  173.  
  174.         lblData.Caption = lblData & vbCrLf & vbCrLf & "Memory (RAM)" & vbCrLf
  175.         lblData.Caption = lblData & "Total RAM     : " & TotalPhysicalMemory \ 1024 \ 1024 & " MB" & vbCrLf
  176.         lblData.Caption = lblData & "Available RAM : " & Format(AvailablePhysicalMemory \ 1024 \ 1024, String(Len(CStr(TotalPhysicalMemory \ 1024 \ 1024)), "@")) & " MB" & vbCrLf
  177.         
  178.  
  179.         picCPULoad.Line (0, 0)-(picCPULoad.ScaleWidth - 1, picCPULoad.ScaleHeight - 1), vbBlack, B
  180.         picCPULoad.Line (picCPULoad.ScaleWidth - 1, 1)-(picCPULoad.ScaleWidth - 1, picCPULoad.ScaleHeight), vbWhite
  181.         picCPULoad.Line (1, picCPULoad.ScaleHeight - 1)-(picCPULoad.ScaleWidth - 1, picCPULoad.ScaleHeight - 1), vbWhite
  182.  
  183.     End With
  184.  
  185. tmrUpdate.Enabled = True
  186. End Sub
  187.  
  188. Public Sub GetMemoryInfo()
  189.   Dim MemStatus As MEMORYSTATUS
  190.   MemStatus.dwLength = Len(MemStatus)
  191.   GlobalMemoryStatus MemStatus
  192.   UsedPhysicalMemory = MemStatus.dwMemoryLoad
  193.   TotalPhysicalMemory = MemStatus.dwTotalPhys
  194.   AvailablePhysicalMemory = MemStatus.dwAvailPhys
  195.   TotalPageFile = MemStatus.dwTotalPageFile
  196.   AvailablePageFile = MemStatus.dwAvailPageFile
  197.   TotalVirtualMemory = MemStatus.dwTotalVirtual
  198.   AvailableVirtualMemory = MemStatus.dwAvailVirtual
  199. End Sub
  200.  
  201.  
  202.